package com.assessment.common.api;

/**
 * API响应状态码枚举
 */
public enum ResultCode {
    /**
     * 成功
     */
    SUCCESS(200, "操作成功"),

    /**
     * 失败
     */
    FAILURE(400, "操作失败"),

    /**
     * 未认证
     */
    UNAUTHORIZED(401, "未认证"),

    /**
     * 未授权
     */
    FORBIDDEN(403, "未授权"),

    /**
     * 服务器错误
     */
    SERVER_ERROR(500, "服务器错误"),

    /**
     * 参数错误
     */
    PARAM_ERROR(1000, "参数错误"),

    /**
     * 用户不存在
     */
    USER_NOT_FOUND(1001, "用户不存在"),

    /**
     * 密码错误
     */
    PASSWORD_ERROR(1002, "密码错误"),

    /**
     * 微信授权失败
     */
    WECHAT_AUTH_ERROR(1003, "微信授权失败"),

    /**
     * 该教师账号未关联微信
     */
    TEACHER_NOT_BIND_WECHAT(1004, "该教师账号未关联微信"),

    /**
     * 评测关系不存在
     */
    ASSESSMENT_RELATION_NOT_FOUND(2001, "评测关系不存在"),

    /**
     * 评测已完成
     */
    ASSESSMENT_COMPLETED(2002, "评测已完成"),

    /**
     * 评测项目不存在
     */
    ASSESSMENT_ITEM_NOT_FOUND(2003, "评测项目不存在"),

    /**
     * 超出评分范围
     */
    SCORE_OUT_OF_RANGE(2004, "超出评分范围");

    private final int code;
    private final String message;

    ResultCode(int code, String message) {
        this.code = code;
        this.message = message;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }
}
